import os
import re


def rename_nii_files(directory):
    """
    将目录中所有CaseX.nii.gz文件重命名为imageXXXX.nii.gz格式
    """
    # 确保目录存在
    if not os.path.exists(directory):
        print(f"目录 {directory} 不存在")
        return

    # 编译正则表达式匹配Case后跟数字的模式
    pattern = re.compile(r'Case(\d+)\.nii\.gz$')

    # 遍历目录中的所有文件
    for filename in os.listdir(directory):
        match = pattern.match(filename)
        if match:
            # 提取数字部分
            case_number = int(match.group(1))
            # 格式化为4位数字，前面补零
            new_number = f"{case_number:04d}"
            # 构建新文件名
            new_filename = f"label{new_number}.nii.gz"
            # 完整的旧文件路径和新文件路径
            old_path = os.path.join(directory, filename)
            new_path = os.path.join(directory, new_filename)

            # 重命名文件
            os.rename(old_path, new_path)
            print(f"重命名: {filename} -> {new_filename}")


# 指定路径
imageTr_path = "/home/yang/MF/datas/3D MR/labelsTs"  # 替换为你的实际路径
rename_nii_files(imageTr_path)